PointsTo Analysis

نویسنده

  • Derek Rayside
چکیده

from Chakaravarthy [3]: Given a program and two variables p and q, the goal of points­to analysis is to check if p can point to q in some execution of the program. This well­ studied problem plays a crucial role in compiler optimization. The problem is known to be un­ decidable when dynamic memory is allowed. But the result is known only when variables are al­ lowed to be structures. We extend the result to show that, the problem remains undecidable, even when only scalar variables are allowed. Our sec­ ond result deals with a version of points­to anal­ ysis called flow­insensitive analysis, where one ig­ nores the control flow of the program and assumes that the statements can be executed in any or­ der. The problem is known to be NP­Hard, even when dynamic memory is not allowed and vari­ ables are scalar. We show that when the variables are further restricted to have well­defined data types, the problem is in P. The corresponding flow­ sensitive version, even with further restrictions, is known to be PSPACE­Complete. Thus, our result gives some theoretical evidence that flow­ insensitive analysis is easier than flow­sensitive analysis. Moreover, while most variations of the points­to analysis are known to be computation­ ally hard, our result gives a rare instance of a non­ trivial points­to problem solvable in polynomial time. Ramalingam [27]: Aliasing is undecidable Landi [17]: PSPACE­complete even with no procedures or memory allocations Landi and Ryder [18]

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Eventually Sound Points-To Analysis with Missing Code

Static analyses make the increasingly tenuous assumption that all source code is available for analysis; for example, large libraries often call into native code that cannot be analyzed. We propose a pointsto analysis that initially makes optimistic assumptions about missing code, and then inserts runtime checks that report counterexamples to these assumptions that occur during execution. Our a...

متن کامل

An Efficient Inclusion-Based Points-To Analysis for Strictly-Typed Languages

We describe the design and implementation of an efficient inclusion-based points-to analysis for strictly-typed object-oriented languages. Our implementation easily scales to millions of lines of Java code, and it supports language features such as inheritance, object fields, exceptional control flow, type casting, dynamic dispatch, and reflection. Our algorithm is based on Heintz and Tardieu’s...

متن کامل

Interprocedural Side-Effect Analysis and Optimisation in the Presence of Dynamic Class Loading

We introduce a new approach to computing interprocedural modification side effects for Java programs in the presence of dynamic class loading. When compile-time unknown classes can be loaded dynamically, the pointsto and modification sets computed statically based on the analysed program, called internal world, may be incomplete. Thus, the modification side effects cannot be determined based on...

متن کامل

Improving bit-vector representation of points-to sets using class hierarchy

Points-to analysis is the problem of approximating run-time values of pointers statically or at compile-time. Pointsto sets are used to store the approximated values of pointers during points-to analysis. Memory usage and running time limit the ability of points-to analysis to analyze large programs. To our knowledge, works which have implemented a bit-vector representation of points-to sets so...

متن کامل

Call Graph Extraction in the Presence of Function Pointers

Software engineers need to understand programs in order to effectively maintain them. The call graph, which presents the calling relationships between functions, is a useful representation of a program that can aid understanding. For programs without the use of function pointers, the call graph can be extracted by parsing the program. However, for programs with function pointers, call graph ext...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005